import akshare as ak
import pandas as pd
import numpy as np

# 1. 获取基础数据
trade_date = "20250711"  # 示例日期
# index_data = ak.stock_zh_index_spot()  # 大盘指数
limit_up = ak.stock_zt_pool_em(date=trade_date)  # 涨停股

limit_down = ak.stock_zt_pool_dtgc_em(date=trade_date)  # 涨停股
# north_money = ak.stock_hsgt_board_rank(symbol="北向资金")  # 北向资金
# stock_hsgt_fund_min_em_df = ak.stock_hsgt_fund_min_em(symbol="北向资金")
north_money = ak.stock_hsgt_hist_em(symbol="北向资金")
print(north_money.tail())

# 2. 计算关键指标
# 涨跌停比
up_ratio = len(limit_up) / (len(limit_down) + 1e-5)  
# 资金情绪
money_sentiment = north_money["今日净买入"].mean() / 1e9  # 十亿单位
# ARBR计算（需历史K线，此处省略）
# 恐惧贪婪指数
fear_greed = ak.index_fear_greed_funddb(symbol="沪深300").iloc[-1]["index"]

# 3. 合成情绪得分（权重需回测优化）
sentiment_score = 0.3*up_ratio + 0.3*money_sentiment + 0.4*(fear_greed/100) 

# 4. 输出信号
if sentiment_score > 0.7:
    print("🔥 赚钱情绪高涨：贪婪区域，注意风险控制")
elif sentiment_score < 0.3:
    print("❄️ 情绪低迷：恐惧区域，关注左侧机会")
else:
    print("➖ 情绪中性：震荡行情，波段操作")